Methods, systems, and media for providing personalized notifications to video viewers

ABSTRACT

Methods, systems, and media for providing personalized notifications to video viewers are provided. In some embodiments, the method comprises: receiving, using a hardware processor, one or more prompts to be presented in association with a video from a user account associated with the video; receiving, from the user account associated with the video, one or more notifications, wherein each of the one or more prompts is associated with one of the one or more notifications; causing the one or more prompts to be presented in association with presentation of the video to a user; receiving an indication that a first prompt of the one or more of the prompts was selected by the user; causing a notification associated with the first prompt to be presented to the user in response to receiving the indication.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/983,069, filed Aug. 3, 2020, which is a continuation of U.S. patentapplication Ser. No. 15/012,035, filed Feb. 1, 2016, which is acontinuation of U.S. patent application Ser. No. 14/486,605, filed Sep.15, 2014, each of which is hereby incorporated by reference herein inits entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forproviding personalized notifications to video viewers.

BACKGROUND

Content creators often create, upload and/or post video content toonline media content platforms. Some online media content platformsallow video viewers to interact with video content and/or contentcreators. For example, video viewers can comment on video content, sharevideo content (e.g., by posting links to the video content on a socialnetworking site), and/or subscribe to video content from a particularcontent creator (e.g., by subscribing to a feed associated with thevideo content and/or the content creator, by subscribing to a channelassociated with the video content and/or the content creator, etc.).However, it can be difficult for content creators to interact with videoviewers to encourage those video viewers to view additional content.

Accordingly, it is desirable to provide new methods, systems, and mediafor providing personalized notifications to video viewers.

SUMMARY

In accordance with various embodiments of the disclosed subject ofmatter, methods, systems, and media providing personalized notificationsto video viewers are provided.

In accordance with some embodiments of the disclosed subject of matter,a method for providing personalized notifications to video viewers isprovided, the method comprising: receiving, using a hardware processor,one or more prompts to be presented in association with a video from auser account associated with the video; receiving, from the user accountassociated with the video, one or more notifications, wherein each ofthe one or more prompts is associated with one of the one or morenotifications; causing the one or more prompts to be presented inassociation with presentation of the video to a user; receiving anindication that a first prompt of the one or more of the prompts wasselected by the user; causing a notification associated with the firstprompt to be presented to the user in response to receiving theindication.

In accordance with some embodiments of the disclosed subject of matter,a system for providing personalized notifications to video viewers isprovided, the system comprising: a hardware processor that is programmedto: receive one or more prompts to be presented in association with avideo from a user account associated with the video; receive, from theuser account associated with the video, one or more notifications,wherein each of the one or more prompts is associated with one of theone or more notifications; cause the one or more prompts to be presentedin association with presentation of the video to a user; receive anindication that a first prompt of the one or more of the prompts wasselected by the user; cause a notification associated with the firstprompt to be presented to the user in response to receiving theindication.

In accordance with some embodiments of the disclosed subject of matter,a non-transitory computer-readable medium containing computer-executableinstructions that, when executed by a processor, cause the processor toperform a method for providing personalized notifications to videoviewers is provided, the method comprising: receiving, using a hardwareprocessor, one or more prompts to be presented in association with avideo from a user account associated with the video; receiving, from theuser account associated with the video, one or more notifications,wherein each of the one or more prompts is associated with one of theone or more notifications; causing the one or more prompts to bepresented in association with presentation of the video to a user;receiving an indication that a first prompt of the one or more of theprompts was selected by the user; causing a notification associated withthe first prompt to be presented to the user in response to receivingthe indication.

In accordance with some embodiments of the disclosed subject of matter,a system for providing personalized notifications to video viewers isprovided, the system comprising: means for receiving one or more promptsto be presented in association with a video from a user accountassociated with the video; means for receiving, from the user accountassociated with the video, one or more notifications, wherein each ofthe one or more prompts is associated with one of the one or morenotifications; means for causing the one or more prompts to be presentedin association with presentation of the video to a user; means forreceiving an indication that a first prompt of the one or more of theprompts was selected by the user; means for causing a notificationassociated with the first prompt to be presented to the user in responseto receiving the indication.

In some embodiments, the one or more notifications include a link to asecond video.

In some embodiments, the notification associated with the first promptis presented to the first user as an email message.

In some embodiments, the one or more prompts are presented as responsesto a poll question received from the user account associated with thevideo.

In some embodiments, the system further comprises: means for retrievinginformation that indicates a plurality of responses of a plurality ofusers to the poll, wherein each of the plurality of responses of theplurality of users to the poll includes a user selection of the one ormore of the prompts; and means for causing the identified one or morenotifications to be presented to the plurality of users.

In some embodiments, the system further comprises: means for receiving auser comment associated with the first prompt; and means for providing auser interface element to the user for identifying one or more otherusers that have access to view the first prompt and the user comment.

In some embodiments, the system further comprises: means for causing auser interface element to be presented with the one or more prompts;means for receiving a second indication that the user interface elementhas been selected by the user; and means for inhibiting the notificationassociated with the first prompt from being presented to the user inresponse to receiving the second indication.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the disclosed subjectmatter can be more fully appreciated with reference to the followingdetailed description of the disclosed subject matter when considered inconnection with the following drawings, in which like reference numeralsidentify like elements.

FIG. 1 shows a schematic diagram of a system suitable for implementationof mechanisms described herein for providing personalized notificationsto video viewers in accordance with some embodiments of the disclosedsubject matter.

FIG. 2 shows a detailed example of a user device and a server of FIG. 1that can be used in accordance with some embodiments of the disclosedsubject matter.

FIG. 3 shows an illustrative example of a process for generating a pollassociated with a video in accordance with some embodiments of thedisclosed subject matter.

FIG. 4 shows an illustrative example of a process for presenting a pollin association with presentation of a video in accordance with someembodiments of the disclosed subject matter.

FIG. 5 shows an illustrative example of a process for presenting anotification to a user based on the user's response to a poll inaccordance with some embodiments of the disclosed subject matter.

FIG. 6 shows an illustrative example of a process for presenting anotification to multiple users based on the users' responses to a pollin accordance with some embodiments of the disclosed subject matter.

FIG. 7 shows an illustrative example of a user interface for presentinga poll in association with presentation of a video in accordance withsome embodiments of the disclosed subject matter.

DETAILED DESCRIPTION

In accordance with various embodiments, mechanisms (which can includesystems, methods, and computer-readable media) for providingpersonalized notifications to video viewers are provided.

In some embodiments, the mechanisms described herein can allow a contentcreator of a video (e.g., a video uploader, a video channel owner, avideo program promulgator, etc.) to generate a poll associated with thevideo. In some embodiments, a poll question and one or more responsescan be received from the content creator and can be associated with thevideo.

In some embodiments, if, after receiving a request for the video from auser, the mechanisms described herein determine that a poll question andone or more responses to the poll are associated with the video, themechanisms can cause the poll question and the one or more responses tobe presented in association with the video. For example, one or moreuser interface elements that include the poll question and the one ormore responses can be presented to the user along with the video as avideo annotation. As another example, a floating window that presentsthe poll question and the one or more responses to the poll can bepresented as an overlay annotation after the presentation of the videois finished.

In some embodiments, the mechanisms described herein can prompt the userto interact with the video. For example, the mechanisms can receive aselection of one or more responses to the poll associated with thevideo. Additionally, the mechanisms can allow a user to add a comment tothe selected one or more responses to the poll. In some embodiments, inresponse to receiving a user selection, the mechanisms can retrieve oneor more notifications that correspond to the selected one or moreresponses to the poll and cause the retrieved one or more notificationsto be presented to the user.

In some embodiments, a notification can be a predetermined reply to auser response to the poll and can be set up by the content creatorbefore the user selection is made. Additionally or alternatively, insome embodiments, a content creator can review information related touser responses to the poll and create a notification to be used as areply to the user response based on the information. In someembodiments, a notification can include any suitable information such astext data, image data, animation data, video data, audio data, a link(e.g., a uniform resource locator (URL)) to a website or other suitableaddress, a barcode (e.g., a quick response (QR) code) that includesinformation to direct a user device to an address, etc.

In some embodiments, the mechanisms described herein can analyzeinformation related to user selections of responses to the poll frommultiple users of the video and provide a statistical result of theinformation to the content creator. Based on the statistical result, themechanisms can allow the content creator to view the range of responsesof the multiple users to the video and send respective notifications todifferent groups of users corresponding to their responses.

Turning to FIG. 1 , an example of a generalized schematic diagram of asystem 100 on which the mechanisms for providing personalizednotifications to video viewers described herein can be implemented isshown in accordance with some embodiments of the disclosed subjectmatter. As illustrated, in some embodiments, system 100 can include oneor more user devices 111, one or more servers 121, a communicationnetwork 150, communication links 131 and 141, and/or other suitablecomponents.

In some embodiments, system 100 can include one or more servers 121(e.g., one or more video content servers, one or more video processingservers, one or more data processing servers, any suitable serverscombination, etc.). Server 121 can be any suitable server for providinga copy of and/or access to the mechanisms described herein for providingpersonalized notifications to video viewers, such as a processor, acomputer, a data processing device, or any suitable combination of suchdevices. For example, one or more items of video content can be storedand delivered using any suitable combination of one or more computersystems, and portions of one or more items of video content may bedistributed across multiple servers. As another example, a video contentdelivery service, and/or a notification providing service can bedistributed into multiple backend components and multiple frontendcomponents or interfaces. In a more particular example, backendcomponents, such as video content data collection, processing and/ortransmission of video content, etc., can be performed by one or moreservers 121. In another more particular example, frontend components,such as presentation of video, presentation of a poll associated withthe video, presentation of a notification associated with the poll,etc., can be performed by one or more user devices 111.

User device(s) 111 can be or include any suitable device that is capableof receiving, processing, converting, transmitting, and/or renderingvideo content and related data, receiving user requests, and/orperforming any other suitable functions. For example, user device 111can be implemented as a mobile device, such as a smartphone, a tabletcomputer, a laptop computer, a vehicle (e.g., car, boat, airplane, etc.)entertainment system, a portable media player, and/or any other suitablemobile device. As another example, in some embodiments, user device 111can be implemented as a non-mobile device, such as a desktop computer, aset-top box, a smart television, a multimedia terminal, a streamingmedia player, a game console, and/or any other suitable non-mobiledevice. User device(s) 111 can be connected by one or more communicationlinks 131 to a communications network 150 that can be linked via acommunication link 141 to a server 121.

In some embodiments, each user device 111 and server 121 can be any of ageneral purpose device such as a computer or a special purpose devicesuch as a client, a server, etc. Any of these general or special purposedevices can include any suitable components such as a hardware processor(which can be a microprocessor, digital signal processor, a controller,etc.), memory, communication interfaces, display controllers, inputdevices, a storage device (which can include a hard drive, a digitalvideo recorder, a solid state storage device, a removable storagedevice, or any other suitable storage device), etc.

Communications network 150 can be any suitable computer network orcombination of networks including the Internet, an intranet, a wide-areanetwork (WAN), a local-area network (LAN), a wireless network, a digitalsubscriber line (DSL) network, a frame relay network, an asynchronoustransfer mode (ATM) network, a virtual private network (VPN), etc.Communication links 131 and 141 can be any communication links suitablefor communicating data between user devices 111 and servers 121, such asnetwork links, dial-up links, wireless links, hard-wired links, anyother suitable communication links, or any suitable combination of suchlinks. User devices 111 and servers 121 can be located at any suitablelocation.

In some embodiments, each server(s) 121 (e.g., video content server(s),video processing server(s), and data processing server(s), etc.) anduser device(s) 111 can be implemented as a stand-alone device orintegrated with other components of system 100. For example, one or morecontent servers, one or more video processing servers, and one or moredata processing servers can be implemented as one service system in someembodiments. As another example, one or more user devices 111 can beimplemented as one user system in some embodiments.

FIG. 2 illustrates an example 200 of hardware that can be used toimplement a user device 111 (e.g., as a mobile phone, a tablet computer,a laptop computer, a desktop computer, a smart television, etc.), and aserver 121 (e.g., a video content server, a video processing server, adata processing server, etc.) in accordance with some embodiments of thedisclosed subject matter. Referring to FIG. 2 , user device 111 caninclude a hardware processor 212, a display 214, an input device 216,and memory 218, which can be interconnected. In some embodiments, memory218 can include a storage device (such as a non-transitivecomputer-readable medium) for storing a computer program for controllinghardware processor 212.

Hardware processor 212 can use the computer program to execute themechanisms described herein, including: presenting on display 214 abrowser window (or any other suitable user interface) that loads a webpage that includes instructions for receiving a video and additionalinformation (e.g., as described below in connection with FIG. 3 );presenting video content and presenting a poll associated with the videocontent (e.g., as described below in connection with FIG. 4 ); detectinga user interaction with the video content and causing a notification tobe presented (e.g., as described below in connection with FIG. 5 ); tosend and/or receive data through communications link 131; and/or toperform any other suitable actions. In some embodiments, hardwareprocessor 212 can send and receive data through communications link 131or any other communication links using, for example, a transmitter, areceiver, a transmitter/receiver, a transceiver, or any other suitablecommunication device.

In some embodiments, display 214 can include a touchscreen, a flat paneldisplay, a cathode ray tube display, a projector, a speaker or speakers,and/or any other suitable display and/or presentation devices. Inputdevice 216 can include, for example, a computer keyboard, a mouse, atrackball, a key pad, a remote control, a microphone, any other suitableinput device, or any suitable combination thereof. Additionally oralternatively, in some embodiments, input device 216 can include atouchscreen of display 214 that can receive input (e.g. using a finger,a stylus, or the like).

Server 121 can include processor 222, display 224, input device 226, andmemory 228, which can be interconnected. In some embodiments, memory 228can include a storage device for storing data received throughcommunications link 141 or through other links, and can also receivecommands and/or values transmitted by one or more user devices 111. Thestorage device can further include a server program for controllingprocessor 222. In some embodiments, memory 228 can include informationstored as a result of user activity (e.g., viewing a video, selecting aresponse to a poll that associated with the video, etc.). In someembodiments, the server program can cause processor 222 to, for example,execute processes 300, 400, 500 and/or 600 as described below inconnection with FIGS. 3-6 , respectively.

Processor 222 can use the server program to communicate with userdevices 111 as well as provide access to and/or copies of the mechanismsdescribed herein for video content related data (e.g., poll questions,responses to a poll, etc.) collection, processing and/or transmission ofvideo content, processing and/or transmission of information related tonotifications in association with video content, sending or receivingany suitable data through communications link 141, and/or performing anyother suitable actions. In some embodiments, processor 222 can send andreceive data through communications link 141 or any other suitablecommunication links using, for example, a transmitter, a receiver, atransmitter/receiver, a transceiver, or any other suitable communicationdevice.

In some embodiments, display 224 can include a touchscreen, a flat paneldisplay, a cathode ray tube display, a projector, a speaker or speakers,and/or any other suitable display and/or presentation devices. Inputdevice 226 can include, for example, a computer keyboard, a mouse, atrackball, a key pad, a remote control, a microphone, any other suitableinput device, or any suitable combination thereof. Additionally oralternatively, in some embodiments, input device 226 can include atouchscreen of display 224 that can receive input (e.g. using a finger,a stylus, or the like).

FIG. 3 shows an illustrative example of a process for generating a pollassociated with a video in accordance with some embodiments of thedisclosed subject matter.

As illustrated in FIG. 3 , process 300 can begin, at 310, by receiving avideo from a content creator over a network. In some embodiments, thevideo can include any suitable video content such as a news program, atalk show, a sports program, a music video, user generated videocontent, one or more clips from a longer video(s), etc. In someembodiments, the video can have any suitable duration (e.g., a fewseconds, dozens of minutes, or any other suitable duration). In someembodiments, the video can be encoded using any suitable video codec(e.g., MPEG, WMV, etc.), with any suitable frame rate (e.g., 24 framesper second (FPS), 60 FPS, 72 FPS, etc.), with any suitable resolution(e.g., 720p, 1080p, etc.), and/or with any other suitablecharacteristic.

In some embodiments, process 300 can receive the video using anysuitable technique or combination of techniques. For example, anapplication (e.g., a browser application, a video content deliveryapplication, a video uploading application, etc.) being executed by userdevice 111 (e.g., a personal computer, a laptop computer, a tabletcomputer, a smartphone, a smart television, etc.) can cause a video tobe transmitted or uploaded to a remote location (e.g., a video contentserver, a video processing server, a video sharing platform, a videohosting service, etc.). In some embodiments, a content creator may berequested to log in to such an application prior to being permitted totransmit, upload, and/or edit a video.

Next, at 320, process 300 can receive an indication that a poll is to beassociated with the video. In some embodiments, process 300 can receivethe indication in any suitable manner and/or using any suitabletechnique or combination of techniques. For example, process 300 canpresent a user interface element to the content creator, after a videohas been received at 310, for requesting that a poll is to be associatedwith the video. In such an example, process 300 can receive theindication if an option such that a poll is to be associated with thevideo has been selected by the content creator using the user interfaceelement. As another example, process 300 can receive the indicationautomatically if the content creator has previously selected an optionsuch that a poll is to be associated with each video that is received.

At 330, process 300 can receive input specifying a poll question fromthe content creator. In some embodiments, the poll question can includeany suitable content such as text, images, video, audio, etc. In someembodiments, the poll question can include any suitable informationspecified by the content creator that is unrelated to, directly relatedto, and/or indirectly related to the video. For example, the pollquestion can be a survey related to the content of the video. As anotherexample, the poll question can be a survey of a favorite character inthe video. As yet another example, the poll question can be a surveyrelated to the length of the video.

At 340, process 300 can receive an input specifying one or moreresponses to the poll question from the content creator. For example,process 300 can receive a pair of responses such as “Yes” and “No”,“Like” and “Dislike”, etc. As another example, process 300 can receivemultiple responses to a multiple-choice question. In some embodiments,the one or more responses to the poll question can include text, images,video, audio, and/or any other suitable content. In some embodiments,the input received at 340 can include information that specifies aresponse that allows user to enter text and/or other input as a commentassociated with the response.

At 350, process 300 can receive an indication from the content creatorthat one or more notifications corresponding to the one or moreresponses are to be supplied. In some embodiments, process 300 canreceive the indication in any suitable manner and/or using any suitabletechnique or combination of techniques. For example, process 300 canpresent a user interface element, after one or more responses to thepoll question has been received at 340, for receiving an indication thatone or more notifications corresponding to the one or more responses areto be supplied. In such an example, process 300 can receive theindication if an option such that one or more notifications are to besupplied has been selected by the content creator. As another example,process 300 can receive the indication automatically if the contentcreator has previously selected an option such that one or morenotifications corresponding to the one or more responses are to besupplied when one or more responses to the poll has been received.

At 360, process 300 can receive at least one notification that is to beassociated with a response to the poll. In some embodiments, anotification can include any suitable information which can be presentedin any suitable form, such as text, images, video, audio, and/or usingany other suitable information. For example, a notification can includeany suitable information created by the content creator as a reply tothe response. As another example, a notification can include anysuitable information about the notification, such as a title of thenotification, a generation date and/or time, a graphical and/or textualrepresentation of the content creator, etc. As yet another example, anotification can include a link (e.g., a uniform resource locator(URL)), a barcode (e.g., a quick response (QR) code), and/or any othersuitable mechanism for directing a user device to a web page and/or anitem of media content that may be unrelated to, directly related to,and/or indirectly related to the response.

In some embodiments, process 300 can receive any other suitableinformation related to a received notification. For example, process 300can receive instructions to present the received notification. In a moreparticular example, process 300 can receive instructions to generate auser interface item, such as a web page, that can present the receivednotification to a user of the video. In another more particular example,process 300 can receive instructions to construct an email that includesthe received notification and to send the email to one or more users. Inyet another more particular example, process 300 can receiveinstructions to construct a mobile application notification that cancause the received notification to be presented on a mobile deviceassociated with the user of the video. It should be noted that, in someembodiments, the mechanisms can determine whether the user of the mobiledevice has provided consent or authorization to send mobilenotifications to the user's mobile device.

Next, at 370, process 300 can cause the poll and any correspondingnotifications to be associated with the video. In some embodiments,process 300 can cause the poll and any corresponding notifications to beassociated with the video in any suitable manner. For example, process300 can cause the information of the poll and any correspondingnotifications to be stored with any suitable identifying informationrelating to the video, such as a video title, one or more keywords ofthe video, retrieval data of the video (e.g., an index number), a linkto the video, identifying information of a channel (e.g., a channelnumber) with which the video is associated, and/or any other suitableinformation that can be used to identify the video.

FIG. 4 shows an illustrative example of a process for presenting a pollin association with presentation of a video in accordance with someembodiments of the disclosed subject matter.

As illustrated in FIG. 4 , process 400 can begin, at 410, by receiving arequest to present a video. For example, an application (e.g., a browserapplication, a media player application, a content delivery application,etc.) being executed by user device 111 (e.g., a personal computer, alaptop computer, a tablet computer, a smartphone, a smart television,etc.) can cause a request for the video to be transmitted to a remotelocation (e.g., a video content server, video processing server, a videosharing platform, a demand side platform, etc.). As another example, anapplication being executed by user device 111 can receive a request topresent a video that is stored locally by user device 111.

In some embodiments, the request can be associated with identifyinginformation of the video that is to be presented. In some embodiments,the identifying information of a video can include any suitableinformation to identify the video. For example, the identifyinginformation of a video can include video source information, such asvideo delivery server address, etc. As another example, the identifyinginformation of a video can include video content information, such astitle, keywords, category, and/or any other suitable information thatindicates content of the video. As yet another example, the identifyinginformation of a video can include video file information, such as framesizes, video lengths, Uniform Resource Locator (URL), Internet Protocol(IP) address, and/or any other suitable file information of the video.

At 420, process 400 can determine whether a poll is associated with thevideo. Process 400 can make this determination in any suitable manner.For example, process 400 can make the determination in response toreceiving an indication (e.g., an HTTP message) from a provider of thevideo (e.g., a video delivery service) that a poll is (or is not)associated with the video. As another example, process 400 can make thedetermination in response to identifying a flag associated with thevideo which indicates that a poll is (or is not) associated with thevideo.

In some embodiments, in response to determining that a poll is notassociated with the video (“NO” at 420), process 400 can proceed to 450and cause the video to be presented. Alternatively, in response todetermining that there is a poll associated with the video (“YES” at420), process 400 can retrieve the poll question and the one or moreresponses that are associated with the video at 430 (e.g., as describedabove in connection with 330 and 340 of FIG. 3 ).

At 440, process 400 can generate instructions to cause the poll questionand the one or more responses to be presented in association withpresentation of the video. For example, process 400 can generate anysuitable instructions for rendering a user interface item (e.g., messagecard 740 as shown in FIG. 7 ) for presenting the poll in associationwith presentation of the video. In some embodiments, process 400 cangenerate instructions to render a user interface item including anysuitable content, such as text, images, icons, graphics, videos,animations, audio, hypertext, hyperlinks, sounds, etc., for presentingthe poll. In some embodiments, process 400 can generate instructions topresent the one or more responses to the poll as one or more prompts.

In some embodiments, process 400 can generate instructions related totiming information for presenting the poll. For example, suchinstructions can include one or more time parameters that can define astart time point, an end time point, a total display time, a displaytime period, and/or any other suitable parameters of the display time ofthe user interface item for presenting the poll. In a more particularexample, process 400 can generate instructions to cause the userinterface item for presenting the poll to be presented before and/orafter playback of the video. In another more particular example, process400 can generate instructions to cause the user interface item forpresenting the poll to be presented during playback of the video. In yetanother more particular example, process 400 can generate instructionsto cause the user interface item for presenting the poll to be displayedas an overlay when playback of the video is paused.

In some embodiments, process 400 can generate instructions related to alocation and/or size at which the user interface item for presenting thepoll is to be presented. For example, such instructions can include oneor more coordinates (e.g., x-coordinates, y-coordinates, and/orz-coordinates) that can define the start positions, end positions,and/or any other suitable parameters of a region in one or moreparticular dimensions (e.g., x dimension, y dimension, and/or zdimension). As another example, the set of instructions can include oneor more coordinates defining the location and/or size of the region withrespect to a region in which the video is to be displayed, such as theoffsets between the two regions, an overlapping region in which both ofthe video and the user interface item can be rendered, etc.

In some embodiments, process 400 can generate any suitable instructionsthat can be used to combine the user interface item presenting the polland presentation of the video. For example, the instructions can includeinformation relating to colors, a level of transparency, and/or anyother suitable parameter that can be used to present the user interfaceitem for presenting the poll (e.g., message card 740 as shown in FIG. 7) in association with the presentation of the video on a user device111.

In some embodiments, process 400 can generate any suitable instructionsthat can be used to present selectable elements associated with the userinterface item for presenting the poll. For example, process 400 cangenerate instructions to present a selectable user interface element(e.g., response checkboxes 761 and 763 as shown in FIG. 7 ) thatcorresponds to a response to the poll question. As another example,process 400 can generate instructions to allow a user to select a userinterface element (e.g., notification checkbox 770 as shown in FIG. 7 )that corresponds to a particular function.

At 450, process 400 can cause the video to be presented. In someembodiments, in response to determining that there is not a pollassociated with the video (“NO” at 420), process 400 can cause the videoto be presented by any suitable device such as a digital video recorder,a smart phone, a tablet computer, a laptop computer, a desktop computer,a television, and/or any other suitable device without causing anassociated poll to be presented.

Alternatively, in response to determining that there is a pollassociated with the video (“YES” at 420), process 400 can cause thevideo to be presented in association with the poll question and the oneor more responses. In some embodiments, process 400 can use theinstructions generated at 440 to cause a user interface item (e.g.,message card 740) that presents the poll to be presented with the video.For example, process 400 can cause the user interface item to bepresented based on the rendering instructions such as color information,levels of transparency, and/or any other suitable parameters containedin the instructions. As another example, process 400 can cause the userinterface item to be overlaid on the video based on positionalinformation contained in the instructions (e.g., coordinates of a regionin which the user interface item is to be presented). In someembodiments, process 400 can determine when to present the poll by anysuitable technique or combination of techniques, such as by determininguser preferences using one or more machine learning techniques, etc.

FIG. 5 shows an illustrative example of a process for presenting anotification to a user based on the user's response to a poll inaccordance with some embodiments of the disclosed subject matter.

As illustrated in FIG. 5 , process 500 can begin, at 510, by receivingan indication that a response (e.g., a particular prompt) to a pollassociated with a video was selected by a user. In some embodiments, theindication can be transmitted and received in response to any suitableuser input and can be received using any suitable device. For example,the indication can be transmitted and received in response to a userselection of a user interface element that is associated with theresponse to the poll using an input device, such as an input device 216as described above in connection with FIG. 2 . As another example, theindication can be transmitted and received in response to a voicecommand detected by an audio input device (e.g., a microphone coupled touser device 111) that indicates a user's desire to select the responseto the poll. As yet another example, the indication can be transmittedand received in response to a gesture command detected by a gesturerecognition system that indicates a user's desire to select the responseto the poll. As still another example, the indication can be transmittedand received in response to receiving a user comment associated with thepoll that indicates a user's desire to select the response to the poll.

In some embodiments, the indication can be transmitted and received inany suitable form. For example, the indication can be transmitted andreceived by one or more infrared signals, WiFi signals, wired connectionsignals, and/or any other suitable control signals. As another example,the indication can be transmitted and received by an HTTP message from aremote location.

At 520, process 500 can determine whether a pre-existing notification isassociated with the response. If process 500 determines that there isnot a pre-existing notification associated with the response (“NO” at520), process 500 can proceed to 550 and can save information related tothe response selected by the user for review by the content creatorand/or for later notification to the user. Alternatively, if process 500determines that there is a pre-existing notification associated with theresponse (“YES” at 520), process 500 can retrieve the one or morenotifications that are associated with the response at 530. For example,as described above in connection with FIG. 3 , the one or morenotifications associated with the response received at 360 can beretrieved using any suitable technique or combination of techniques.

At 540, process 500 can cause the one or more notifications associatedwith the response to be presented to the user. In some embodiments,process 500 can generate one or more user interface items that includethe retrieved one or more notifications and cause the one or more ofuser interface items to be presented to the user in any suitable manner.For example, process 500 can send the one or more user interface itemsincluding the retrieved one or more notifications by email, textmessage, stream post (e.g., a message within a website, a postassociated with a user account of a social network platform, etc.),mobile notification, and/or by any suitable technique or combination oftechniques.

In some embodiments, process 500 can cause the one or more notificationsassociated with the response to be presented to the user at any suitabletime after the video is created. For example, process 500 can cause theone or more notifications associated with the response to be presentedimmediately after receiving the indication at 510 in cases where apre-existing notification is associated with the response. As anotherexample, process 500 can cause the one or more notifications to bepresented to the user after a predetermined delay (e.g., a couple hours,a day, etc.) of receiving the indication at 510. As yet another example,process 500 can cause the one or more notifications associated with theresponse to be presented to the user in response to receiving aninstruction from the content creator.

In some embodiments, before process 500 presenting any notifications toa particular user, process 500 can provide the user an opportunity tocontrol whether a notification is presented and/or how a notification ispresented. For example, process 500 can prompt the user to specify oneor more sources, such as particular content creators and/or videochannels, that are permitted to provide notifications to the user. Asanother example, process 500 can prompt the user to specify one or moresources that are to be excluded from providing notifications. As yetanother example, process 500 can present a user interface element to theuser for receiving an indication of whether the user wishes to receivenotifications.

At 550, process 500 can save information related to the responseselected by the user. For example, identifying information of the userand information specifying one or more responses selected by the usercan be saved for review by the content creator and/or for laternotification to the user (e.g., as described in connection with process600 of FIG. 6 ).

It should be noted that in cases where the mechanisms described hereincollect information about a particular user, the user can be providedwith an opportunity to control whether the mechanisms collectinformation about particular users and/or how collected user informationis used by the mechanisms. Examples of information about a user caninclude the user's interests (e.g., based on a video presented to theuser, a response to a poll selected by the user, etc.), identifyinginformation of the user, contact information of the user, geographicinformation of the user, etc. Additionally, certain information aboutthe user can be stored locally by a user device 111 (e.g., not shared),encrypted, and/or treated in one or more ways before it is stored toremove personal information. For example, a user's identity can betreated such that no personal information can be determined for theuser. As another example, a user's geographic location can begeneralized where location information is obtained (e.g., to a citylevel, a ZIP code level, a state level, etc.), so that a particularlocation of a user cannot be determined. Using these techniques andothers described herein, the user can have control over what informationis collected about the user and/or how that information is used by theapplication (or other mechanisms).

FIG. 6 shows an illustrative example of a process for presenting anotification to multiple users based on the users' responses to a pollin accordance with some embodiments of the disclosed subject matter.

As illustrated in FIG. 6 , process 600 can begin, at 610, by retrievingsaved information related to responses to the poll by one or more users.In some embodiments, process 600 can execute 610 in response to apredetermined event occurring. For example, process 600 can execute 610in response to receiving a request from the content creator associatedwith the video to review information related to user responses (e.g.,information save at 550 in FIG. 5 ). As another example, process 600 canexecute 610 in response to receiving an indication that the video hasbeen accessible to users for a predetermined period of time, and/or thevideo has been viewed and/or requested at least a threshold number oftimes. As yet another example, process 600 can execute 610 in responseto receiving an indication that the number of saved responses to thepoll has reached or exceeded a threshold value.

At 620, process 600 can cause user response information to be presentedto the content creator based on the retrieved information. In someembodiments, user response information can include any suitableinformation related to one or more responses to the poll selected by oneor more users. For example, user response information can includestatistical information of the poll, such as a total number of responsesto the poll, distribution of responses to the poll, etc. As anotherexample, user response information can include one or more user commentsthat are associated with the one or more selected responses to the poll.As yet another example, user response information can include userinformation (e.g., a username, etc.) of users that publicly shared theirselection of response and/or their comments.

At 630, process 600 can receive a notification associated with aresponse to the poll from the content creator. Such a notification canbe similar to the notification as described above in connection with 360of FIG. 3 , and can include any suitable information, such as text,images, video, audio, and/or any other suitable information. In someembodiments, the information included in the notification can bedetermined by the content creator based at least in part on the userresponse information presented at 620. For example, the content creatorcan specify a video according to the user response information and causethe video to be presented as part of a notification associated with aresponse to the poll. As another example, the content creator can modifyan existing notification associated with a response to the poll based onthe user response information. As yet another example, the contentcreator can cause information related to user responses to the poll tobe presented as part of a notification associated with a response to thepoll.

At 640, process 600 can cause the notification to be presented to atleast one user that selected the response associated with thenotification. In some embodiments, process 600 can cause thenotification to be presented to all users that selected the responseassociated with the notification. Alternatively, in some embodiments,process 600 can cause the notification to be presented to a portion ofthe users that selected the response associated with the notification.For example, process 600 can select a small portion (e.g., 1%, 5%, etc.)of the users that selected the response associated with the notificationand can cause the notification to be presented to that small portion ofthe users. In such an example, in response to receiving an indicationthat the small portion of the users reacted positively to thenotification (e.g., a high click through rate (CTR), a low rate ofresponses indicating that the users do not wish to receive furthernotifications, a high rate that users watch a video included in thenotification to completion, etc.), process 600 can cause thenotification to be presented to the remaining portion of the users thatselected the response associated with the notification.

In some embodiments, process 600 can cause the notification to bepresented to users that have not yet received the notification, and/orusers that have not yet viewed the notification. In some embodiments,process 600 can cause the notification to be presented to users thathave not yet watched a video linked in the notification. In someembodiments, a user need to be subscribed to a channel associated withthe video before the user can receive a notification from the contentcreator of the channel.

Turning to FIG. 7 , an illustrative example of a user interface 700 forpresenting a poll in association with presentation of a video is shownin accordance with some embodiments of the disclosed subject matter. Insome embodiments, user interface 700 can include video display area 710,control panel 720, video information area 730, message card 740, and/orany other suitable user interface elements.

In some embodiments, video display area 710 can be used to present anysuitable video content. In some embodiments, control panel 720 caninclude multiple user interface elements for performing controlfunctions associated with video playback, such as a play user interfaceelement, a pause user interface element, a stop user interface element,a mute user interface element, volume adjustment user interface element,video progress adjustment user interface element, and any other suitablevideo control actions. In some embodiments, control panel 720 maycontain more, fewer and/or different video control user interfaceelements than are shown in FIG. 7 , or may be omitted (e.g., in a caseof voice control).

In some embodiments, video information area 730 can present any suitableinformation relating to the video presented in video display area 710.For example, video information area 730 can include any suitable userinterface elements for presenting a title and/or one or more keywords ofthe video, a thumbnail image of the video, a link (e.g., a URL) or abarcode (e.g., a QR code) associated with the source of the video, atotal number of viewers of the video, etc. As another example, videoinformation area 730 can include any suitable user interface elementsfor presenting information related to a content creator of the video,such as identifying information (e.g., a username, a graphicalrepresentation, etc.) of the content creator, messages from the contentcreator to viewers of the video, and/or any other suitable informationassociated with the content creator. As yet another example, videoinformation area 730 can include any suitable user interface elementsfor presenting user comments associated with the video, informationabout users associated with the comments, and/or any other suitableinformation.

In some embodiments, message card 740 can include any suitable userinterface elements for presenting the poll question and the one or moreresponses associated with the video presented using video display area710. For example, as illustrated in FIG. 7 , text 750 representing apoll question and two responses to the poll question are presented usingmessage card 740.

In some embodiments, message card 740 can include any suitable userinterface elements for performing additional functions. For example,message card 740 can include one or more user interface elements (e.g.,response checkboxes 761 and 763) that corresponds to one or moreresponses to the poll question, respectively, for selection by a user.As another example, message card 740 can include a user interfaceelement (e.g., notification checkbox 770) for a user to select whetherthe mechanisms described herein are to send a notification to the user.As yet another example, message card 740 can include a user interfaceelement such as a text box (not shown in FIG. 7 ) where a user can add acomment to the user's response to the poll. In such an example, messagecard 740 can include a user interface element (not shown in FIG. 7 )such as an access-control-list box to receiving information identifyingone or more other users that are to have access to view the users'response and/or comment.

In some embodiments, message card 740 can be presented in any suitablemanner. For example, as shown in FIG. 7 , message card 740 can beprovided as a floating window that is presented in video display area710. In a more particular example, message card 740 can be provided as apartially transparent user interface overlaid on video display area 710.In another example, message card 740 can be can be provided in a popupwindow. In yet another example, the video can be presented by a firstuser device (e.g., a smart television), while message card 740 can bepresented by a second user device (e.g., a smartphone).

Although not shown in FIG. 7 , in some embodiments, message card 740 caninclude interactive elements. For example, one or more user interfaceelements in message card 740 (e.g., response checkboxes 761 and 763,notification checkbox 770, etc.) can be selected by clicking, tapping,or any other suitable mechanism, in some embodiments. As anotherexample, message card 740 can be dismissed by clicking or tapping on a“dismiss” icon (e.g., an “X” at the corner of message card 740 or anyother suitable icon), or by swiping or dragging message card 740 atleast partially off the border of user interface 700.

As yet another example, one or more user interface elements in messagecard 740 can be selected to perform any suitable actions. In a moreparticular example, if a link to a website is presented in message card740, the link can be selected, and in response, a browser applicationcan be launched to load the website, or a new window or a new tab of thebrowser application can be opened (e.g., where 700 is presented in afirst window or a first tab of the browser application). As another moreparticular example, if message card 740 presents a thumbnail and/or ananimation representing another video, the thumbnail and/or the animationcan be selected, and in response, the other video can be presented tothe user.

In some embodiments, the application can include client-side software,server-side software, hardware, firmware, or any suitable combinationthereof. For example, the application can encompass a computer programthat causes one or more processors to execute the content generationapplication. As another example, the application(s) can encompass acomputer program written in a programming language recognizable by userdevice(s) 111 and/or server(s) 121 that is executing the application(s)(e.g., a program written in a programming language, such as, Java, C,Objective-C, C++, C#, Javascript, Visual Basic, HTML, XML, ColdFusion,any other suitable approaches, or any suitable combination thereof).

In some embodiments, the application can encompass one or more Web-pagesor Web-page portions (e.g., via any suitable encoding, such as HyperTextMarkup Language (“HTML”), Dynamic HyperText Markup Language (“DHTML”),Extensible Markup Language (“XML”), JavaServer Pages (“JSP”), ActiveServer Pages (“ASP”), Cold Fusion, or any other suitable approaches).

In some embodiments, any suitable computer readable media can be usedfor storing instructions for performing the processes described herein.For example, in some embodiments, computer readable media can betransitory or non-transitory. For example, non-transitory computerreadable media can include media such as magnetic media (such as harddisks, floppy disks, and/or any other suitable media), optical media(such as compact discs, digital video discs, Blu-ray discs, and/or anyother suitable optical media), semiconductor media (such as flashmemory, electrically programmable read only memory (EPROM), electricallyerasable programmable read only memory (EEPROM), and/or any othersuitable semiconductor media), any suitable media that is not fleetingor devoid of any semblance of permanence during transmission, and/or anysuitable tangible media. As another example, transitory computerreadable media can include signals on networks, in wires, conductors,optical fibers, circuits, any suitable media that is fleeting and devoidof any semblance of permanence during transmission, and/or any suitableintangible media.

It should be noted that the above steps of the flow diagrams of FIGS.3-6 can be executed or performed in any suitable order or sequence notlimited to the order and sequence shown and described in the figures.Also, some of the above steps of the flow diagrams of FIGS. 3-6 can beexecuted or performed substantially simultaneously where appropriate orin parallel to reduce latency and processing times. Furthermore, itshould be noted that FIGS. 3-6 are provided as examples only. At leastsome of the steps shown in the figures may be performed in a differentorder than represented, performed concurrently, or altogether omitted.

The provision of the examples described herein (as well as clausesphrased as “such as,” “e.g.,” “including,” and the like) should not beinterpreted as limiting the claimed subject matter to the specificexamples; rather, the examples are intended to illustrate only some ofmany possible aspects.

Accordingly, methods, systems, and media for providing personalizednotifications to video viewers are provided.

Although the disclosed subject matter has been described and illustratedin the foregoing illustrative embodiments, it is understood that thepresent disclosure has been made only by way of example, and thatnumerous changes in the details of embodiments of the disclosed subjectmatter can be made without departing from the spirit and scope of thedisclosed subject matter, which is limited only by the claims thatfollow. Features of the disclosed embodiments can be combined andrearranged in various ways.

What is claimed is:
 1. A method for providing personalized content, themethod comprising: receiving, at a server, a first video content itemfrom a user device; receiving, at the server, a poll that is to bepresented in connection with presentation of the first video contentitem, wherein the poll is associated with a plurality of responses,wherein a second video content item is associated with a first responseof the plurality of responses and a third video content item isassociated with a second response of the plurality of responses;associating, at the server, the second video content item with the firstresponse of the plurality of responses and the third video content itemwith the second response of the plurality of responses; causing the pollto be presented on a first user device associated with a first viewerand on a second user device associated with a second viewer inconnection with presentation of the first video content item; receiving,from the first user device, a response to the poll from the first viewerthat corresponds to the first response of the plurality of responsesand, from the second user device, a response to the poll from the secondviewer that corresponds to the second response of the plurality ofresponses; and causing the second video content item to be presented onthe first user device and the third video content item to be presentedon the second user device.
 2. The method of claim 1, wherein receivingthe poll comprises receiving timing information that includes one ormore time parameters indicating when the poll is to be presented inconnection with presentation of the first video content item, andwherein causing the poll to be presented on the first user device and onthe second user device is based on the timing information.
 3. The methodof claim 1, wherein causing the poll to be presented on the first userdevice and on the second user device in connection with presentation ofthe first video content item comprises causing the poll to be presentedat a time point at which playback of the first video content item ispaused.
 4. The method of claim 1, wherein causing the poll to bepresented on the first user device and on the second user device inconnection with presentation of the first video content item comprisescausing the poll to be presented as an overlay on the first videocontent item.
 5. The method of claim 4, wherein causing the poll to bepresented as an overlay on the first video content item comprisestransmitting instructions to the first user device and to the seconduser device that indicate a location at which the poll is to be overlaidon the first video content item.
 6. The method of claim 1, wherein theresponse to the poll from the first viewer is received via a remotecontrol associated with the first user device.
 7. A system for providingpersonalized content, the system comprising: a hardware processor that:receives a first video content item from a user device; receives a pollthat is to be presented in connection with presentation of the firstvideo content item, wherein the poll is associated with a plurality ofresponses, wherein a second video content item is associated with afirst response of the plurality of responses and a third video contentitem is associated with a second response of the plurality of responses;associates the second video content item with the first response of theplurality of responses and the third video content item with the secondresponse of the plurality of responses; causes the poll to be presentedon a first user device associated with a first viewer and on a seconduser device associated with a second viewer in connection withpresentation of the first video content item; receives, from the firstuser device, a response to the poll from the first viewer thatcorresponds to the first response of the plurality of responses and,from the second user device, a response to the poll from the secondviewer that corresponds to the second response of the plurality ofresponses; and causes the second video content item to be presented onthe first user device and the third video content item to be presentedon the second user device.
 8. The system of claim 7, wherein receivingthe poll comprises receiving timing information that includes one ormore time parameters indicating when the poll is to be presented inconnection with presentation of the first video content item, andwherein causing the poll to be presented on the first user device and onthe second user device is based on the timing information.
 9. The systemof claim 7, wherein causing the poll to be presented on the first userdevice and on the second user device in connection with presentation ofthe first video content item comprises causing the poll to be presentedat a time point at which playback of the first video content item ispaused.
 10. The system of claim 7, wherein causing the poll to bepresented on the first user device and on the second user device inconnection with presentation of the first video content item comprisescausing the poll to be presented as an overlay on the first videocontent item.
 11. The system of claim 10, wherein causing the poll to bepresented as an overlay on the first video content item comprisestransmitting instructions to the first user device and to the seconduser device that indicate a location at which the poll is to be overlaidon the first video content item.
 12. The system of claim 7, wherein theresponse to the poll from the first viewer is received via a remotecontrol associated with the first user device.
 13. A non-transitorycomputer-readable medium containing computer-executable instructionsthat, when executed by a processor, cause the processor to perform amethod for providing personalized content, the method comprising:receiving a first video content item from a user device; receiving apoll that is to be presented in connection with presentation of thefirst video content item, wherein the poll is associated with aplurality of responses, wherein a second video content item isassociated with a first response of the plurality of responses and athird video content item is associated with a second response of theplurality of responses; associating the second video content item withthe first response of the plurality of responses and the third videocontent item with the second response of the plurality of responses;causing the poll to be presented on a first user device associated witha first viewer and on a second user device associated with a secondviewer in connection with presentation of the first video content item;receiving, from the first user device, a response to the poll from thefirst viewer that corresponds to the first response of the plurality ofresponses and, from the second user device, a response to the poll fromthe second viewer that corresponds to the second response of theplurality of responses; and causing the second video content item to bepresented on the first user device and the third video content item tobe presented on the second user device.
 14. The non-transitorycomputer-readable medium of claim 13, wherein receiving the pollcomprises receiving timing information that includes one or more timeparameters indicating when the poll is to be presented in connectionwith presentation of the first video content item, and wherein causingthe poll to be presented on the first user device and on the second userdevice is based on the timing information.
 15. The non-transitorycomputer-readable medium of claim 13, wherein causing the poll to bepresented on the first user device and on the second user device inconnection with presentation of the first video content item comprisescausing the poll to be presented at a time point at which playback ofthe first video content item is paused.
 16. The non-transitorycomputer-readable medium of claim 13, wherein causing the poll to bepresented on the first user device and on the second user device inconnection with presentation of the first video content item comprisescausing the poll to be presented as an overlay on the first videocontent item.
 17. The non-transitory computer-readable medium of claim16, wherein causing the poll to be presented as an overlay on the firstvideo content item comprises transmitting instructions to the first userdevice and to the second user device that indicate a location at whichthe poll is to be overlaid on the first video content item.
 18. Thenon-transitory computer-readable medium of claim 13, wherein theresponse to the poll from the first viewer is received via a remotecontrol associated with the first user device.